'use strict'

module.exports = app => {
  app.beforeStart(async () => {
    if (app.config.env === 'local' || app.config.env === 'unittest') {
      // 判断开发环境和单元测试环境
      console.log('开发环境')
      // force 设置为 true 会重置数据库造成已有数据丢失，请谨慎修改
      // await app.model.sync({ force: false })

      await app.model.Place.sync({ alter: true })
      await app.model.Member.sync({ alter: true })
      await app.model.Desktopcfg.sync({ alter: true })
      await app.model.OnlineMember.sync({ alter: true })
      await app.model.Recharge.sync({ alter: true })
      await app.model.UpmachineRecord.sync({ alter: true })
      await app.model.DownmachineRecord.sync({ alter: true })
      await app.model.GameInfo.sync({ alter: true })
      await app.model.Seat.sync({ alter: true })

    } else if (app.config.env === 'prod') {
      // 判断生产环境
      console.log('生产环境')
      // await app.model.Place.sync({ alter: true })
      // await app.model.Member.sync({ alter: true })
      // await app.model.Desktopcfg.sync({ alter: true })
      // await app.model.OnlineMember.sync({ alter: true })
      // await app.model.Recharge.sync({ alter: true })
      // await app.model.UpmachineRecord.sync({ alter: true })
      // await app.model.DownmachineRecord.sync({ alter: true })
    }
  })
}

